#!/usr/bin/python python3

# 输入两个数,求两个数的最大公约数
'''
def manum(m,n):

    for a in range(min(m, n), 1, -1):
        if m % a == 0 and n % a == 0:
            return a
    return 1
'''

def manum():

    m=int(input('请输入第一个数:'))
    n=int(input('请输入第二个数:'))
    b=0
    for a in range(1, min(m, n) + 1):
        if m % a == 0 and n % a == 0:
            b=a
    print('这两个数的最大公约数为:', b)


# 输出1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 ... + 1/99 - 1/100的结果(保留两位)
def numb():
    m=1
    for a in range(2, 101):
        m += 1/a if a % 2 != 0 else - 1/a
    print('1-1/2+1/3-...+1/99-1/100=', round(m, 2))


# 将八进制数转成10进制输出(不准用内置函数)

def octint():

    a=int(input('请输入要转换的八进制数:'))

    f = 1
    if a < 0:
        a *= -1
        f = -1

    m=n=0
    while a > 0:
        if a % 10 > 7:
            print('这不属于八进制数')
        m += a % 10 * 8 ** n
        n += 1
        a //= 10
    print('该数转换十进制为:', m * f)

'''
def octint():

    a=int(input('请输入要转换的八进制数:'))
    f=1
    if a < 0:
        a *= -1
        f = -1

    m=0
    n=0
    while a > 0:
        if a % 10 > 7:
            return None
        m += a % 10 * 8 ** n
        n += 1
        a //= 10
    return m * f
'''

# 黑色星期五

def ifrun(year):
    '''判断润年'''
    return 1 if year % 4 == 0 and year % 100 != 0 or year % 400 ==0 else 0

def yeartoyear(sy,ey):
    '''某年到某年的天数
       sy 起始年
       ey 结束年'''
    days=0
    while sy < ey:
        days += 365 + ifrun(sy)
        sy += 1
    return days

def sytomonth(mon,year):
    '''年初到某月某日的天数
    '''
    days = (mon-1) * 30 + mon // 2
    if mon == 9 or mon == 11:
        days += 1
    if mon > 2:
        days =days -2 + ifrun(year)
    return days

def blackFri(year):
    '''黑色星期五'''
    days = yeartoyear(1900,year) + 13
    for t in range(1,13):
        if (days + sytomonth(t,year)) % 7 == 5:
            print(year, '年', t, '月 13 号是黑色星期五!')

# 打鱼晒网

def time(year,mon,day):
    d = (yeartoyear(2000,year) + sytomonth(mon,year) + day) % 5
    a = '晒网' if d == 0 or d == 4 else '打渔'
    print(a)



while True:
    print('选择项目：')
    print('1.最大公约数')
    print('2.计算1-1/2+1/3...1/99-1/100结果')
    print('3.进制转换')
    print('4.黑色星期五')
    print('5.打鱼晒网')
    print('0.返回目录')
    print('---------------------------------------------------------------')

    s=int(input('请输入选项:'))

    if s == 1:
        manum()
        #print('这两个数的最大公约数为:', manum(int(input('请输入第一个数:')),
         #                                   int(input('请输入第二个数:'))))
    elif s == 2:
        numb()
    elif s == 3:
        #print('转换为十进制为:',octint())
        octint()
    elif s == 4:
        blackFri(2017)
    elif s == 5:
        while True:
            i=int(input('请输入数字:'))
            if i == 0:
                print('您的输入有误!')
                break
            time(2000,1,i)
    elif s == 0:
        break
    print('----------------------------------------------------------')












